package com.cjkj.system.mapper;

import java.util.List;
import com.cjkj.system.api.domain.THospitalDept;
import com.cjkj.system.domain.dto.HospitalDeptReq;
import com.cjkj.system.domain.vo.DeptTreeVo;
import com.cjkj.system.domain.vo.HospitalDeptVo;
import org.apache.ibatis.annotations.Param;

/**
 * 医院科室信息Mapper接口
 * 
 * @author cjkj
 * @date 2024-08-30
 */
public interface THospitalDeptMapper 
{
    List<DeptTreeVo> selectDeptTree(String hospitalId);

    /**
     * 查询医院科室信息列表
     *
     * @param req 医院科室信息
     * @return 医院科室信息集合
     */
    List<HospitalDeptVo> selectTHospitalDeptList(HospitalDeptReq req);

    THospitalDept selectByHosIdAndName(@Param("hospitalId") String hospitalId, @Param("name") String name);
    THospitalDept selectByHosIdAndId(@Param("hospitalId") String hospitalId, @Param("deptId") String deptId);

    /**
     * 查询医院科室信息
     *
     * @param deptId 医院科室信息主键
     * @return 医院科室信息
     */
    THospitalDept selectTHospitalDeptByDeptId(String deptId);

    /**
     * 新增医院科室信息
     * 
     * @param tHospitalDept 医院科室信息
     * @return 结果
     */
    int insertTHospitalDept(THospitalDept tHospitalDept);

    /**
     * 修改医院科室信息
     * 
     * @param tHospitalDept 医院科室信息
     * @return 结果
     */
    int updateTHospitalDept(THospitalDept tHospitalDept);

    /**
     * 删除医院科室信息
     * 
     * @param deptId 医院科室信息主键
     * @return 结果
     */
    int deleteTHospitalDeptByDeptId(String deptId);

}
